ใน ภาษาที่มีการระบุประเภทแบบคงที่, ความไม่เปลี่ยนแปลงเป็นสถานะพื้นฐานของข้อมูล ซึ่งช่วยให้มั่นใจในความปลอดภัยของหน่วยความจำและผลลัพธ์ที่คาดเดาได้ แม้ว่าตัวแปรจะสามารถซ้อนทับหรือทำให้เปลี่ยนแปลงได้ แต่ ค่าคงที่ ก้าวไปอีกขั้นโดยผูกค่ากับชื่ออย่างถาวร
1. ความเข้มงวดของค่าคงที่
แตกต่างจากตัวแปรทั่วไปที่ การอนุมานประเภท ช่วยให้คอมไพล์เลอร์อนุมานประเภทข้อมูล แต่ค่าคงที่ต้องการการระบุประเภทอย่างชัดเจน การระบุประเภทอย่างชัดเจน (เช่น : u32) ซึ่งช่วยรักษาสัญญาที่เข้มงวดภายในบิเนอรีของโค้ด
2. การประเมินผลในช่วงเวลาคอมไพล์
ค่าคงที่ไม่ใช่แค่ตัวแปรที่ไม่เปลี่ยนแปลงเท่านั้น แต่จะถูกประเมินผลและ "บูรณาการ" เข้าไปในบิเนอรีของโปรแกรมในช่วงเวลาคอมไพล์ ทำให้คอมไพล์เลอร์สามารถดำเนินการ การคำนวณค่าคงที่ (เช่น 60 * 60 * 3) ก่อนที่โปรแกรมจะเริ่มทำงาน ซึ่งช่วยเพิ่มประสิทธิภาพการทำงาน
3. ความไม่เปลี่ยนแปลงอย่างสมบูรณ์
ค่าคงที่ทำหน้าที่เป็นแหล่งข้อมูลที่แท้จริงเพียงแหล่งเดียว ไม่สามารถทำให้เปลี่ยนแปลงได้ด้วยคำสั่ง mut และไม่สามารถซ้อนทับได้ในขอบเขตเดียวกัน ทำให้มั่นใจได้ว่าพารามิเตอร์สำคัญของโปรแกรมจะไม่ถูกเปลี่ยนแปลงตลอดกระบวนการประมวลผล